/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package interfazop;

import java.awt.Dimension;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

/**
 *
 * @author necross
 */
public final class pintarSobreVentana {

    
    //ventana donde se pintara
    private ventana2 ventana;
    //Boton inicial
    private javax.swing.JButton p1;
    
    //Para la taskList
    private JPanel taskList;
    
    //Para el Scheduler del lado izquierdo
    private JPanel Sched1;
    
    //Para el Scheduler del lado derecho
    private JPanel Sched2;
    
    //Para Cpu
    private JScrollPane CPU;
    
    
    //Para IO
    private JScrollPane IO;
    
    
    //Para cola IO
    private JPanel colaIO;
    
    
    private JButton TIMER;
    
    
    private JPanel Log;
    

    
    
    public pintarSobreVentana(ventana2 ventana) {
        this.ventana = ventana;
        this.Sched1 = ventana.jPanelSched;
        this.Sched2 = ventana.jPanelSched2;
        this.taskList =  ventana.jPanelTaskList;
        this.CPU = ventana.jScrollPaneCPU;
        this.IO = ventana.jScrollPaneIO;
        this.colaIO = ventana.jPanelColaIO;
        this.TIMER = ventana.jButtonTimer;
        this.Log = ventana.jPanelLog;
    }
    
    
    
    //contador
    private static int cont = 0;
    public void agregar(){
       //crea el boton 
       p1 = new javax.swing.JButton();
       //Coloca texto al boton
       p1.setText("Pid:"+cont);
       //coloca tamaÑo al boton
       Dimension d= new Dimension(80, 20);
       p1.setMaximumSize(d);
       p1.setMinimumSize(d);
       p1.setPreferredSize(d);
        //coloca nombre al Boton
       p1.setName("jButtonPid"+cont); 
       
       setTimer(cont);
       
       //this.agregarLog("Prueba "+cont);
       
       //this.agregarBotonSched2(p1);
       
       
       //Lo agrega al taskList
       //this.agregarBotonTaskList(p1);
        
      //this.eliminarBotonTaskList(p1);
       
        
       //agrega en Sched1
       //this.agregarBotonSched1(p1);
      
      
       
      // agregarBotonIO(p1);
       //eliminarBotonCPU(p1);
       
       
       cont++; //incrementa contador
      //agregandole una accion al boton que debe ejecutar al ser apretado
      /* p1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                eliminarPrimerBoton(evt);
            }
          }
       );*/
    
    }
    
    //elimina el primer boton en el panel
    private void eliminarPrimerBoton(java.awt.event.ActionEvent evt) {
        //elimina el primer boton en el panel
       Sched1.remove(0);
        //refresca el panel
       Sched1.revalidate();
       Sched1.repaint();
     
    }
    
    
    
    
    
    
    public void agregarBotonTaskList(JButton boton){
       this.taskList.add(boton);
       this.taskList.revalidate();
       this.taskList.repaint();
    }
    
    
    //Elimina el primero
    public void eliminarBotonTaskList(JButton boton){
        this.taskList.remove(boton);
    
    }
    
    
    
    public void agregarBotonSched1(JButton boton){
       this.Sched1.add(boton);
       this.Sched1.revalidate();
       this.Sched1.repaint();
    }
    
    
    
     public void agregarBotonSched1(JButton boton, int posicion){
       this.Sched1.add(boton, posicion);
       this.Sched1.revalidate();
       this.Sched1.repaint();
    }
    
    
    //Elimina el primero
    public void eliminarBotonSched1(JButton boton){
        this.Sched1.remove(boton);
    
    }
    
    
    
     
    public void agregarBotonSched2(JButton boton){
       this.Sched2.add(boton);
       this.Sched2.revalidate();
       this.Sched2.repaint();
    }
    
    
     public void agregarBotonSched2(JButton boton, int posicion){
       this.Sched2.add(boton, posicion);
       this.Sched2.revalidate();
       this.Sched2.repaint();
    }
    
    
    //Elimina el primero
    public void eliminarBotonSched2(JButton boton){
        this.Sched2.remove(boton);
    
    }
    
    
    
     public void agregarBotonColaIo(JButton boton){
       this.colaIO.add(boton);
       this.colaIO.revalidate();
       this.colaIO.repaint();
    }
    
    
    //Elimina el primero
    public void eliminarBotonColaIo(JButton boton){
        this.colaIO.remove(boton);
    
    }
    
    
     public void agregarBotonCPU(JButton boton){
       this.CPU.setViewportView(boton);
    }
    
    
    //Elimina el primero
    public void eliminarBotonCPU(JButton boton){
        this.CPU.setViewportView(null);;
    
    }
    
    
    
     public void agregarBotonIO(JButton boton){
       this.IO.setViewportView(boton);
    }
    
    
    //Elimina el primero
    public void eliminarBotonIO(JButton boton){
        this.IO.setViewportView(null);;
    
    }
    
    
    public void setTimer(int timer){
        this.TIMER.setText(""+timer);
    }
    
    
    public void agregarLog(String texto){
       JLabel p = new JLabel();
       p.setText(texto);
       this.Log.add(p);
    
    }
    
    
    
    
}
